Caching হলো একটি প্রযুক্তি যা ডেটার পুনরায় রিকোয়েস্ট হওয়ার সময় সেটিকে দ্রুত অ্যাক্সেস করার জন্য সংরক্ষণ করে। এটি সাধারণত ডেটাবেস কোয়েরি অথবা ইউজার ইন্টারফেস দ্রুত লোড করার জন্য ব্যবহৃত হয়। CodeIgniter-এ caching ব্যবহার করে অ্যাপ্লিকেশনের পারফরম্যান্স উন্নত করা সম্ভব।
CodeIgniter বিভিন্ন ধরণের caching সাপোর্ট করে যেমন:
Page Caching দ্বারা পুরো পেজের আউটপুট মেমোরিতে সংরক্ষণ করা হয়, যাতে একই পেজ পুনরায় রিকোয়েস্ট করার সময় ডেটাবেস বা কন্ট্রোলার থেকে পুনরায় রেন্ডার না করতে হয়।
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Welcome extends CI_Controller {
public function __construct() {
parent::__construct();
}
// Page Caching সক্রিয় করা
public function index() {
$this->output->cache(60); // 60 মিনিট পর্যন্ত এই পেজ কেচ করা হবে
$this->load->view('welcome_message');
}
}
$this->output->cache()
ফাংশনটি ব্যবহার করে আমরা পেজটি কত মিনিট (এখানে 60 মিনিট) কেচ রাখতে চাই তা নির্ধারণ করি।কেচড পেজগুলো একটি নির্দিষ্ট সময় পরে এক্সপায়ার হয়ে যাবে এবং সেগুলোর জন্য নতুন কন্টেন্ট জেনারেট হবে।
Query Caching ব্যবহার করে একটি ডাটাবেস কোয়েরির ফলাফলকে মেমোরিতে সংরক্ষণ করা হয়। যখন পরবর্তী সময়ে একই কোয়েরি চালানো হয়, তখন তা ডাটাবেস থেকে পুনরায় রিট্রিভ না করে কেবল কেচড ডেটা থেকে ফলাফল ফেরত দেয়, যা পারফরম্যান্স অনেক বৃদ্ধি করে।
$this->db->cache_on(); // Query Caching চালু করা
$query = $this->db->get('users'); // একই কোয়েরি আগের রিকোয়েস্টের জন্য কেচে থাকবে
$this->db->cache_off(); // Query Caching বন্ধ করা
$this->db->flush_cache(); // সমস্ত কেচ ক্লিয়ার করা
File Caching ব্যবহার করে অ্যাপ্লিকেশন বা পেজের ডেটা ফাইল হিসেবে সংরক্ষণ করা হয়। এটি একটি নির্দিষ্ট ফাইলে ডেটা সংরক্ষণ করে, এবং পরবর্তী সময়ে সেই ফাইলটি পড়ে ডেটা ব্যবহার করা হয়।
$data = 'This is a cached data';
$file_path = './application/cache/my_cache_file.txt';
// ফাইল কেচিং লিখা
$this->cache->file->save($file_path, $data, 600); // 600 সেকেন্ড পর্যন্ত কেচ থাকবে
// ফাইল কেচিং থেকে ডেটা পড়া
$cached_data = $this->cache->file->get($file_path);
if ($cached_data) {
echo 'Cache data: ' . $cached_data;
} else {
echo 'No cache data found.';
}
// ফাইল কেচিং মুছে ফেলা
$this->cache->file->delete($file_path);
Database Caching ব্যবহার করে ডাটাবেস থেকে ডেটা রিট্রিভ করার সময় কেবল একবার কোয়েরি চালানো হয় এবং তার ফলাফল কেচড হয়। পরবর্তী রিকোয়েস্টে কেচড ডেটা ব্যবহার করা হয়।
$this->db->cache_on(); // ডাটাবেস কেচিং চালু করা
$query = $this->db->get('users'); // কোয়েরি রেজাল্ট কেচ হবে
$this->db->cache_off(); // ডাটাবেস কেচিং বন্ধ করা
$this->db->flush_cache(); // সমস্ত ডাটাবেস কেচ ক্লিয়ার করা
CodeIgniter-এ Caching ব্যবহার করে অ্যাপ্লিকেশনের পারফরম্যান্স দ্রুত করা যায় এবং সার্ভারের লোড কমানো সম্ভব। Page Caching, Query Caching, File Caching, এবং Database Caching এর মাধ্যমে ডেটা দ্রুত লোড করা সম্ভব, যা ব্যবহারকারীর অভিজ্ঞতা উন্নত করে এবং সার্ভারের দক্ষতা বৃদ্ধি করে।
Read more